package entity

type SnmpInfo struct {
	ID            int        `gorm:"primaryKey" json:"id"`
	IP            string     `gorm:"column:ip" json:"ip" binding:"required,ip"`                                    //设备ip
	Community     string     `gorm:"column:community" json:"community" binding:"required"`                         //团体名
	Version       int        `gorm:"column:version" json:"version" binding:"oneof=1 2 3"`                          //版本
	Auth_password string     `gorm:"column:auth_password" json:"auth_password" binding:"required_if=Version 3"`    //认证密码
	Priv_password string     `gorm:"column:priv_password" json:"priv_password" binding:"required_if=Version 3"`    //私钥密码
	Model         ModelType  `gorm:"column:model" json:"model" binding:"required"`                                 //型号，根据型号匹配对应的MIB
	Devicetype    DeviceType `gorm:"column:type" json:"type" binding:"required,oneof=1 2 3 4 9 51 52 53 54 55 99"` //设备类型（1服务器 2交换机 3PDU 4 播控器,9NTP, 51WiFi，52车地无线 53车地无线转储 54编播设备 99网络设备）
	Enable        bool       `gorm:"column:enable" json:"enable"`                                                  //状态 （false 失效 true生效）
}

// 型号
type ModelType string

const (
	WINDOWS    ModelType = "Windows"
	UBUNTU     ModelType = "Ubuntu"
	CENTOS     ModelType = "Centos"
	MPDU       ModelType = "MPDU"
	H3C_S7506E ModelType = "H3C_S7506E"
)
